// pages/replenishmentAdd/replenishmentAdd.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 船舶名称
    shipNameArr: [],
    shipNameIndex: 0,
    shipName: "",

    // 消耗状态
    expendStateArr: [],
    expendStateIndex: 0,
    expendState: "充实",

    // 供应状态
    supplyStateArr: [],
    supplyStateIndex: 0,
    supplyState: "无需",

    // 日常用品
    dailyArr: [],
    dailyIndex: 0,
    daily: "洗漱用品",

    // 应急用品
    exigenceArr: [],
    exigenceIndex: 0,
    exigence: "防护用品",
    // 备份
    backupExigenceIndex: 0,
    backupExigence: "防护用品",

    // 消耗用品
    expendArr: [],
    expendIndex: 0,
    expend: "生活消耗品",

    // 船舶器械
    instrumentArr: [],
    instrumentIndex: 0,
    instrument: "气囊",

    // 备注
    remarks: "",
    // 备件 备注
    backupRemarks: "",

    // 显示 修改按钮
    modify: true,
    // 修改id
    modifyId: null,
  },

  // 名称修改
  shipNameChange(e) {
    this.setData({
      shipNameIndex: parseInt(parseInt(e.detail.value)),
      shipName: this.data.shipNameArr[parseInt(e.detail.value)]
    })
  },

  // 消耗状态修改
  expendStateChange(e) {
    this.setData({
      expendStateIndex: parseInt(parseInt(e.detail.value)),
      expendState: this.data.expendStateArr[parseInt(e.detail.value)]
    })
  },

  // 供应状态修改
  supplyStateChange(e) {
    this.setData({
      supplyStateIndex: parseInt(parseInt(e.detail.value)),
      supplyState: this.data.supplyStateArr[parseInt(e.detail.value)]
    })
  },

  // 日常用品修改
  dailyChange(e) {
    this.setData({
      dailyIndex: parseInt(parseInt(e.detail.value)),
      daily: this.data.dailyArr[parseInt(e.detail.value)]
    })
  },

  // 应急用品修改
  exigenceChange(e) {
    this.setData({
      exigenceIndex: parseInt(parseInt(e.detail.value)),
      exigence: this.data.exigenceArr[parseInt(e.detail.value)]
    })
  },

  // 备件 应急用品修改
  backupExigenceChange(e) {
    this.setData({
      backupExigenceIndex: parseInt(parseInt(e.detail.value)),
      backupExigence: this.data.exigenceArr[parseInt(e.detail.value)]
    })
  },

  // 消耗用品修改
  instrumentChange(e) {
    this.setData({
      instrumentIndex: parseInt(parseInt(e.detail.value)),
      instrument: this.data.instrumentArr[parseInt(e.detail.value)]
    })
  },

  // 船舶器械修改
  expendChange(e) {
    this.setData({
      expendIndex: parseInt(parseInt(e.detail.value)),
      expend: this.data.expendArr[parseInt(e.detail.value)]
    })
  },

  // 备注说明
  remarksChange(e) {
    this.setData({
      remarks: e.detail.value
    })
  },

  // 备件 备注说明
  backupRemarksChange(e) {
    this.setData({
      backupRemarks: e.detail.value
    })
  },

  // 表单提交
  replenishmentSubmit() {
    let _this = this;
    let darkBlue_shipName = _this.data.shipName; // 名称 
    let darkBlue_remarks = _this.data.remarks; // 备注说明
    let darkBlue_backupRemarks = _this.data.backupRemarks; // 备件 备注说明
    if (darkBlue_shipName == '') {
      wx: wx.showToast({
        title: '默认名称无效，请选择',
        icon: 'none',
        duration: 2000
      })
      return false
    }
    else if (darkBlue_remarks && darkBlue_backupRemarks == "") {
      wx: wx.showToast({
        title: '请输入备注内容',
        icon: 'error',
        duration: 2000
      })
      return false
    }
    else {
      // 云函数语法
      wx.cloud.callFunction({
        // 调用名称
        name:"setMaterialInfo",
        data: {
          darkBlue_shipName, // 名称
          darkBlue_remarks, //备注
          darkBlue_backupRemarks, // 备件 备注
          // 消耗状态
          darkBlue_expendStateIndex: _this.data.expendStateIndex, // 下标
          darkBlue_expendState: _this.data.expendState,
          // 供应状态
          darkBlue_supplyStateIndex: _this.data.supplyStateIndex, // 下标
          darkBlue_supplyState: _this.data.supplyState,
          // 日常用品
          darkBlue_dailyIndex: _this.data.dailyIndex, // 下标
          darkBlue_daily: _this.data.daily,
          // 应急用品
          darkBlue_exigenceIndex: _this.data.exigenceIndex, // 下标
          darkBlue_exigence: _this.data.exigence,
          // 应急用品 备份
          darkBlue_backupExigenceIndex: _this.data.backupExigenceIndex, // 下标
          darkBlue_backupExigence: _this.data.backupExigence,
          // 消耗用品
          darkBlue_expendIndex: _this.data.expendIndex, // 下标
          darkBlue_expend: _this.data.expend,
          // 船舶器械
          darkBlue_instrumentIndex: _this.data.instrumentIndex, // 下标
          darkBlue_instrument: _this.data.instrument,
          darkBlue_del: false, // 删除
        },
        success(res) {
          console.log(res);
          wx.setStorageSync('upkeepIndex', 1);
          wx.switchTab({
            url: '/pages/upkeep/upkeep',
          })
        }
      })
    }
  },

  // 修改提交
  replenishmentModifySubmit() {
    let _this = this;
    let darkBlue_shipName = _this.data.shipName; // 名称 
    let darkBlue_remarks = _this.data.remarks; // 备注说明
    let darkBlue_backupRemarks = _this.data.backupRemarks; // 备件 备注说明
    let index = _this.data.modifyId; //修改ID
    if (darkBlue_remarks && darkBlue_backupRemarks == "") {
      wx: wx.showToast({
        title: '请输入备注内容',
        icon: 'error',
        duration: 2000
      })
      return false
    }
    else {
      // 云函数调用
     wx.cloud.callFunction({
        name:"updateMateInfo",
        data: {
          index,
          darkBlue_shipName, // 名称
          darkBlue_remarks, //备注
          darkBlue_backupRemarks, // 备件 备注
          // 消耗状态
          darkBlue_expendStateIndex: _this.data.expendStateIndex, // 下标
          darkBlue_expendState: _this.data.expendState,
          // 供应状态
          darkBlue_supplyStateIndex: _this.data.supplyStateIndex, // 下标
          darkBlue_supplyState: _this.data.supplyState,
          // 日常用品
          darkBlue_dailyIndex: _this.data.dailyIndex, // 下标
          darkBlue_daily: _this.data.daily,
          // 应急用品
          darkBlue_exigenceIndex: _this.data.exigenceIndex, // 下标
          darkBlue_exigence: _this.data.exigence,
          // 应急用品 备份
          darkBlue_backupExigenceIndex: _this.data.backupExigenceIndex, // 下标
          darkBlue_backupExigence: _this.data.backupExigence,
          // 消耗用品
          darkBlue_expendIndex: _this.data.expendIndex, // 下标
          darkBlue_expend: _this.data.expend,
          // 船舶器械
          darkBlue_instrumentIndex: _this.data.instrumentIndex, // 下标
          darkBlue_instrument: _this.data.instrument,
          darkBlue_del: false, // 删除
        },
        success(res) {
          console.log(res);
          wx.navigateBack({
            delta: 1
          })
        }
      })
    }
  },

  // 获取修改信息
  replenishmentModifyVal() {
    let _this = this;
    let index = _this.data.modifyId;
    // 获取一个记录的数据
    wx.cloud.callFunction({
      // 需调用的云函数名
      name: 'queryMateInfo',
      data:{
        index
      },
      // 成功回调
      success:(res)=> {
        // 包含该记录的数据
        console.log(res)
        let arr = res.result.data;
        _this.setData({
          shipName: arr.darkBlue_shipName, // 名称
          remarks: arr.darkBlue_remarks, //备注
          backupRemarks: arr.darkBlue_backupRemarks, // 备件 备注
          // 消耗状态
          expendStateIndex: arr.darkBlue_expendStateIndex, // 下标
          expendState: arr.darkBlue_expendState,
          // 供应状态
          supplyStateIndex: arr.darkBlue_supplyStateIndex, // 下标
          supplyState: arr.darkBlue_supplyState,
          // 日常用品
          dailyIndex: arr.darkBlue_dailyIndex, // 下标
          daily: arr.darkBlue_daily,
          // 应急用品
          exigenceIndex: arr.darkBlue_exigenceIndex, // 下标
          exigence: arr.darkBlue_exigence,
          // 应急用品 备份
          backupExigenceIndex: arr.darkBlue_backupExigenceIndex, // 下标
          backupExigence: arr.darkBlue_backupExigence,
          // 消耗用品
          expendIndex: arr.darkBlue_expendIndex, // 下标
          expend: arr.darkBlue_expend,
          // 船舶器械
          instrumentIndex: arr.darkBlue_instrumentIndex, // 下标
          instrument: arr.darkBlue_instrument,
        })
      }
    })
  },

  // 获取数据
  getReplenishmentData() {
    let _this = this;
    // 云函数语法 获取名称
    let shipNameArr = [];
    wx.cloud.callFunction({
      // 需调用的云函数名
      name: 'getShipName',
      // 成功回调
      success: (res) => {
        // console.log(res.result);
        res.result.forEach(item => {
          shipNameArr.push(item.darkBlue_shipName);
        })
        _this.setData({
          shipNameArr
        })
      }
    })

    // 获取数据 ，渲染页面
    wx.cloud.callFunction({
      name: "getShipPort",
      success: (res) => {
         // 获取添加信息
        let arr = res.result.data[2];
        _this.setData({
          expendStateArr: arr.expendState, //消耗
          supplyStateArr: arr.supplyState, //供应
          dailyArr: arr.daily, //日常
          exigenceArr: arr.exigence, //应急
          expendArr: arr.expend, //应消耗
          instrumentArr: arr.instrument, //器械
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options);
    let _this = this;
    let modifyId = options.id;
    // 提示
    if (wx.getStorageSync('root')) {
      _this.getReplenishmentData();
      if (modifyId) {
        _this.setData({
          modify: false,
          modifyId
        })
        _this.replenishmentModifyVal();
      }
    } else {
      wx.showModal({
        title: '提示',
        content: '您没有权限',
        success(res) {
          if (res.confirm) {
            // 跳转到 登录（我的）页面
            wx.navigateBack({
              delta: 1
            })
          } else if (res.cancel) {
            // console.log('用户点击取消')
            wx.navigateBack({
              delta: 1
            })
          }
        }
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    // 防止错乱 跳错页面
    wx.setStorageSync('upkeepIndex', 1);
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})